强化学习(九)- 策略梯度方法 - 梯度上升,黑箱优化,REINFORCE算法及CartPole实例

引言

在之前介绍的方法中,几乎所有方法都是动作价值方法(action-value Method),通过学习动作价值并基于动作价值来学做动作。如果没有动作价值评估,他们的策略甚至不会存在。但在这个部分我们将考虑学习参数化策略的方法,这些方法可以在不考虑价值函数的情况下选择动作。价值函数仍然可以用于学习策略参数,但对于动作选择是不必要的。我们使用θRd\theta \in\mathbb{R}^{d'}来表示策略的参数向量。所以使用π(as,θ)=Pr{At=aSt=s,θt=θ}\pi(a|s, \theta) = Pr\{A_t = a|S_t = s, \theta_t = \theta\}表示在tt时刻aa被采取的概率, 假设环境在tt时刻处于带有参数的状态ss。如果一个方法也使用了学习的价值函数,那么价值函数的权重向量照例表示为wRd\text{w} \in \mathbb{R}^{d'},如v^(s,w)\hat{v}(s,\text{w})

在这个部分我们使用基于一些标量性能度量J(θ)J(\theta )相对于策略参数的梯度来学习策略参数的方法。这些方法寻求性能最大化,因此它们的更新近似于JJ梯度上升(gradient ascent)

阅读全文 »

强化学习(八) - 深度Q学习(Deep Q-learning, DQL,DQN)原理及相关实例

8. 深度Q学习

深度Q学习将深度学习和强化学习相结合,是第一个深度强化学习算法。深度Q学习的核心就是用一个人工神经网络q(s,a;θ),sS,aAq(s,a;\theta),s∈\mathcal{S},a∈\mathcal{A}来代替动作价值函数。其中θ\theta为神经网络权重,在前面文章中,也使用过w\text{w}。由于神经网络具有强大的表达能力,能够自动寻找特征,所以采用神经网络有潜力比传统人工特征强大得多。最近基于深度Q网络的深度强化学习算法有了重大的进展,在目前学术界有非常大的影响力。当同时出现异策、自益和函数近似时,无法保证收敛性,会出现训练不稳定或训练困难等问题。针对出现的各种问题,研究人员主要从以下两方面进行了改进。

强化学习(七) - 函数近似方法 - 随机梯度下降, 半梯度下降,及瓦片编码(Tile Coding)实例

本节介绍用函数近似(function approximation)方法来估计给定策略ππ的状态价值函数vπv_π或动作价值函数qπq_π。要评估状态价值,我们可以用一个参数为w\text{w}的函数v(s;w)v(s;\text{w})sSs∈\mathcal{S})来近似状态价值;要评估动作价值,我们可以用一个参数为w\text{w}的函数q(s,a;w)q(s,a;\text{w})sSs∈\mathcal{S},aA(s)a∈\mathcal{A}(s))来近似动作价值。在动作集A\mathcal{A}有限的情况下,还可以用一个矢量函数q(s;w)=(q(s,a;w):aAq(s;\text{w})=(q(s,a;\text{w}):a∈\mathcal{A})(sSs∈\mathcal{S})来近似动作价值。矢量函数q(s;w)q(s;\text{w})的每一个元素对应着一个动作,而整个矢量函数除参数外只用状态作为输入。这里的函数v(s;w)sSv(s;\text{w}) s∈\mathcal{S})、q(s,a;w)q(s,a;\text{w})sSs∈\mathcal{S},aAa∈\mathcal{A}(s))、q(s;w)sSq(s;\text{w})(s∈\mathcal{S})形式不限,可以是线性函数,也可以是神经网络。但是,它们的形式需要事先给定,在学习过程中只更新参数w\text{w}。一旦参数w\text{w}完全确定,价值估计就完全给定。所以,本节将介绍如何更新参数w\text{w}。更新参数的方法既可以用于策略价值评估,也可以用于最优策略求解。

7.1 目标预测(VE\overline{VE})

到目前为止,我们还没有为预测指定一个明确的目标。在使用表格的情况下,预测质量的连续测量是不必要的,因为学习的值函数可以完全等于真值函数。此外,每个状态下的学习值是解耦的,一个状态下的更新不会影响其他状态。但是在真正的近似中,一个状态的更新会影响到许多其他状态,而且不可能得到所有状态的值完全正确。根据假设,我们的状态比权重多得多,所以使一个状态的估计更准确必然意味着使其他状态的估计更不准确。那么我们有必要指出我们最关心的状态。我们必须指定一个状态分布μ(s)0sμ(s)=1μ(s) \geq 0,\sum_{s} μ(s) = 1,代表我们对每个状态ss的误差的关心程度,所谓状态ss的误差是指近似值v(s,w)v(s,w)与真实值v(s)v(s)之差的平方。将其在状态空间中的权重为μμ,我们得到一个自然的目标函数,即均值平方误差(Mean SquaredValue Error),表示为VE\overline{VE}

阅读全文 »

强化学习(六) - 连续空间中的强化学习(RL in Continuous Spaces)及相关实例

6.1 连续空间中的强化学习

在之前的实例中,状态和动作的数量受到限制。使用小的,有限的马尔可夫决策过程(MDP),可以用表,字典或其他有限结构来表示动作价值函数。

例如,考虑下面的非常小的gridworld。假设世界有四个可能的状态,并且代理有四个可能的操作可供使用(上,下,左,右)。我们可以在表中表示估计的最佳操作价值函数,每个状态对应一个行,每个动作对应一个列。我们将此表称为Q表。

阅读全文 »

强化学习(五) - 时序差分学习(Temporal-Difference Learning)及其实例----Sarsa算法, Q学习, 期望Sarsa算法

如果非要找出一种思想作为强化学习的核心和新意,那无疑是时序差分学习(Temporal-Difference Learning) 或者称为 时序差分迭代法,以下简称为TD。
TD学习是蒙特卡洛思想和动态编程(DP)思想的结合。与蒙特卡洛方法一样,TD方法可以直接从原始经验中学习,而不需要环境的动态模型。
和DP一样,TD方法部分地根据其他学习到的估计值更新估计值,而不需要等待最终的结果(它们是引导式的)。TD、DP和蒙特卡洛方法之间的关系是强化学习理论中一个反复出现的主题。

阅读全文 »

强化学习(七) - 函数近似方法 - 随机梯度下降, 半梯度下降,及瓦片编码(Tile Coding)实例

本节介绍用函数近似(function approximation)方法来估计给定策略ππ的状态价值函数vπv_π或动作价值函数qπq_π
要评估状态价值,我们可以用一个参数为w\text{w}的函数v(s;w)v(s;\text{w})sSs∈\mathcal{S})来近似状态价值;要评估动作价值,我们可以用一个参数为w\text{w}的函数q(s,a;w)q(s,a;\text{w})sSs∈\mathcal{S},aA(s)a∈\mathcal{A}(s))来近似动作价值。
在动作集A\mathcal{A}有限的情况下,还可以用一个矢量函数q(s;w)=(q(s,a;w):aAq(s;\text{w})=(q(s,a;\text{w}):a∈\mathcal{A})(sSs∈\mathcal{S})来近似动作价值。矢量函数q(s;w)q(s;\text{w})的每一个元素对应着一个动作,而整个矢量函数除参数外只用状态作为输入。

阅读全文 »

强化学习(四) - 蒙特卡洛方法(Monte Carlo Methods)及实例

4. 蒙特卡洛方法

蒙特卡罗方法是我们第一个用于估计价值函数和发现最优策略的学习方法。与之前动态规划DP不同的是,这里我们不假设对环境的完全了解。蒙特卡洛方法只需要状态、动作和与环境实际或模拟交互的奖励的经验样本序列。
实际经验中学习是引人注目的,因为它不需要事先了解环境的动态,但仍然可以达到最佳行为。

阅读全文 »

强化学习(三) - Gym库介绍和使用,Markov决策程序实例,动态规划决策实例

强化学习(三) - Gym库介绍和使用,Markov决策程序实例,动态规划决策实例

1. 引言

在这个部分补充之前马尔科夫决策和动态规划部分的代码。在以后的内容我会把相关代码都附到相关内容的后面。本部分代码和将来的代码会参考《深度强化学习原理与python实现》与Udacity的课程《Reinforcement Learning》。

阅读全文 »

强化学习(二)- 动态规划(Dynamic Programming)

3.动态规划

3.1 介绍

术语动态规划(DP:Dynamic Programming) 指的是一个算法集合,可以用来计算最优策略,给定一个完美的环境模型,作为马尔可夫决策过程(MDP)。经典的DP算法在强化学习中的应用有限,因为它们的假设是一个完美的模型,而且计算量大,但它们仍然具有重要的理论意义。DP为理解其余部分中介绍的方法提供了必要的基础。实际上,所有这些方法都可以被看作是实现与DP几乎相同的效果的尝试,只不过计算量更少,而且没有假设一个完美的环境模型。

阅读全文 »

强化学习(一)- 强化学习介绍、Markov决策过程和贝尔曼期望方程

强化学习(英语:Reinforcement learning,简称RL)是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益。其灵感来源于心理学中的行为主义理论,即有机体如何在环境给予的奖励或惩罚的刺激下,逐步形成对刺激的预期,产生能获得最大利益的习惯性行为。这个方法具有普适性,因此在其他许多领域都有研究,例如博弈论、控制论、运筹学、信息论、仿真优化、多主体系统学习、群体智能、统计学以及遗传算法。 -- wikipedia

阅读全文 »